import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

Vue.use(Vuex)

// 仓库store实例化
const store = new Vuex.Store({
  // 大项目 非常大 数据都是分门别类的维护在各自的小仓库中
  modules: {
    app,
    settings,
    user
  },
  // 全局的
  getters

})

export default store
// {
//   sidebar: state => {
//     // 这里的state 是全局的state
//     return state.app.sidebar
//   },
//   device: state => state.app.device,
//   token: state => state.user.token,
//   avatar: state => state.user.avatar,
//   name: state => state.user.name

// 设计思路: 数据一旦恶心  取数据非常麻烦 直接通过全局getters快捷访问
// $store.state.user.userInfo.name.xx.xxx.xxxxx.xxxx 正常姿势
// $store.getters.name 快捷访问模块内的数据

// xxx(state) {
//   return state.xx * 2
// }
// }
